목차
쓰이지 않는 코드.
쓰지 않는 코드는 지운다. (타이딩 중 하나)
“
Delete it. That’s all. If the code doesn’t get executed, just delete it. … “But what if we need it later?” That’s what version control is for. We aren’t really deleting anything. We just don’t have to look at it right now. —Tidy first? A personal exercise in empirical software design
목차 관련 글 New interface, old implementation “A personal exercise in empirical software design” One pile “Inline as much of the code as you need until it's all in one big pile.” 살아있는 패턴과 죽은 패턴 “But, beyond that, patterns are not merely instruments which help us live: they are themselves alive or dead….” Reading order “A personal exercise in empirical software design” Explaining comments “Then you'd better explain any biology context in the code, even if it seems obvious to you.” Guard clauses “A personal exercise in empirical software design” First, After, Later, Never “A personal exercise in empirical software design 2부 중에서 발췌, 요약.” Extract helper “You see a block of code inside a routine that has an obvious purpose and limited interaction with the rest of t…” Separate tidying “A personal exercise in empirical software design” Explicit parameters “A personal exercise in empirical software design” Move declaration and initialization together “A personal exercise in empirical software design” 경험적 소프트웨어 설계 “A personal exercise in empirical software design” Chunk statements “You're reading a big chunk of code and you realize, "Oh, this part does this and then that part does that."” Cohesion order “A personal exercise in empirical software design에서는 "당장 결합도coupling를 낮출 수 없는 상황이라면 응집도cohesion라고 높여둬라"고 조언.” 설계를 언제 할까 “Besides, once the software is in production we will never have the chance to design, so let’s pile it all in to…” Explaining variables “A personal exercise in empirical software design” 레거시 코드에서의 에이전트 기반 코딩 주제어가 겹침 에이전틱 엔지니어링 다음 “죽은 코드 검사: 안 쓰이는 코드, 안 쓰이는 의존성 검사해서 제거.” 레거시 코드 “With tests, we can change the behavior of our code quickly and verifiably.” Explaining constants “A personal exercise in empirical software design”